﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace KPIS.GERP.Models.ACM
{
    [DataContract, Table("AcmMasBaseAccount")]
    public class MasBaseAccount
    {
        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [DataMember, Display(Name = "CashAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? CashAccountId { get; set; }

        [DataMember, Display(Name = "DnCrAccount", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? DnCrAccount { get; set; }

        [DataMember, Display(Name = "LoadAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? LoadAccountId { get; set; }

        [DataMember, Display(Name = "TaxAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? TaxAccountId { get; set; }

        [DataMember, Display(Name = "RemainAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? RemainAccountId { get; set; }

        [DataMember, Display(Name = "PenaltyAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? PenaltyAccountId { get; set; }

        [DataMember, Display(Name = "OverAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? OverAccountId { get; set; }

        [DataMember, Display(Name = "DirectPayAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? DirectPayAccountId { get; set; }

        [DataMember, Display(Name = "IncomeBbAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? IncomeBbAccountId { get; set; }

        [DataMember, Display(Name = "WaitIncomeBbAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? WaitIncomeBbAccountId { get; set; }


        [DataMember, Display(Name = "RedemptionAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? RedemptionAccountId { get; set; }

        [DataMember, Display(Name = "CollateralAccountId1", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? CollateralAccountId1 { get; set; }

        [DataMember, Display(Name = "CollateralAccountId2", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? CollateralAccountId2 { get; set; }

        [DataMember, Display(Name = "CollateralAccountId3", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? CollateralAccountId3 { get; set; }

        [DataMember, Display(Name = "CollateralAccountId4", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? CollateralAccountId4 { get; set; }

        [DataMember, Display(Name = "PayIncomeAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? PayIncomeAccountId { get; set; }

        [DataMember, Display(Name = "GovIncomeAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? GovIncomeAccountId { get; set; }

        [DataMember, Display(Name = "GovDepositAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? GovDepositAccountId { get; set; }

        [DataMember, Display(Name = "WaitAccountId", ResourceType = typeof(Resources.AcmMasBaseAccountResource))]
        public int? WaitAccountId { get; set; }

        [DataMember, Display(Name = "UpdatedBy", ResourceType = typeof(SYS.Resources.RecordStatusResource))]
        public int? UpdatedBy { get; set; }

        [DataMember, Display(Name = "CreatedBy", ResourceType = typeof(SYS.Resources.RecordStatusResource))]
        public DateTime? CreatedBy { get; set; }
    }
}
